import { defineMock } from './base'

export default defineMock([
	{
		url: 'roles/options',
		method: ['GET'],
		body: {
			code: '00000',
			data: [
				{
					value: 2,
					label: '系统管理员'
				},
				{
					value: 4,
					label: '系统管理员1'
				},
				{
					value: 5,
					label: '系统管理员2'
				},
				{
					value: 6,
					label: '系统管理员3'
				},
				{
					value: 7,
					label: '系统管理员4'
				},
				{
					value: 8,
					label: '系统管理员5'
				},
				{
					value: 9,
					label: '系统管理员6'
				},
				{
					value: 10,
					label: '系统管理员7'
				},
				{
					value: 11,
					label: '系统管理员8'
				},
				{
					value: 12,
					label: '系统管理员9'
				},
				{
					value: 3,
					label: '访问游客'
				}
			],
			msg: '一切ok'
		}
	},

	{
		url: 'roles/page',
		method: ['GET'],
		body: {
			code: '00000',
			data: {
				list: [
					{
						id: 2,
						name: '系统管理员',
						code: 'ADMIN',
						status: 1,
						sort: 2,
						createTime: '2021-03-25 12:39:54',
						updateTime: null
					},
					{
						id: 3,
						name: '访问游客',
						code: 'GUEST',
						status: 1,
						sort: 3,
						createTime: '2021-05-26 15:49:05',
						updateTime: '2019-05-05 16:00:00'
					},
					{
						id: 4,
						name: '系统管理员1',
						code: 'ADMIN1',
						status: 1,
						sort: 2,
						createTime: '2021-03-25 12:39:54',
						updateTime: null
					},
					{
						id: 5,
						name: '系统管理员2',
						code: 'ADMIN2',
						status: 1,
						sort: 2,
						createTime: '2021-03-25 12:39:54',
						updateTime: null
					},
					{
						id: 6,
						name: '系统管理员3',
						code: 'ADMIN3',
						status: 1,
						sort: 2,
						createTime: '2021-03-25 12:39:54',
						updateTime: null
					},
					{
						id: 7,
						name: '系统管理员4',
						code: 'ADMIN4',
						status: 1,
						sort: 2,
						createTime: '2021-03-25 12:39:54',
						updateTime: null
					},
					{
						id: 8,
						name: '系统管理员5',
						code: 'ADMIN5',
						status: 1,
						sort: 2,
						createTime: '2021-03-25 12:39:54',
						updateTime: null
					},
					{
						id: 9,
						name: '系统管理员6',
						code: 'ADMIN6',
						status: 1,
						sort: 2,
						createTime: '2021-03-25 12:39:54',
						updateTime: '2023-12-04 11:43:15'
					},
					{
						id: 10,
						name: '系统管理员7',
						code: 'ADMIN7',
						status: 1,
						sort: 2,
						createTime: '2021-03-25 12:39:54',
						updateTime: null
					},
					{
						id: 11,
						name: '系统管理员8',
						code: 'ADMIN8',
						status: 1,
						sort: 2,
						createTime: '2021-03-25 12:39:54',
						updateTime: null
					}
				],
				total: 10
			},
			msg: '一切ok'
		}
	},

	// 新增角色
	{
		url: 'roles',
		method: ['POST'],
		body({ body }) {
			return {
				code: '00000',
				data: null,
				msg: '新增角色' + body.name + '成功'
			}
		}
	},

	// 获取角色表单数据
	{
		url: 'roles/:id/form',
		method: ['GET'],
		body: ({ params }) => {
			return {
				code: '00000',
				data: roleMap[params.id],
				msg: '一切ok'
			}
		}
	},
	// 修改角色
	{
		url: 'roles/:id',
		method: ['PUT'],
		body({ body }) {
			return {
				code: '00000',
				data: null,
				msg: '修改角色' + body.name + '成功'
			}
		}
	},

	// 删除角色
	{
		url: 'roles/:id',
		method: ['DELETE'],
		body({ params }) {
			return {
				code: '00000',
				data: null,
				msg: '删除角色' + params.id + '成功'
			}
		}
	},
	// 获取角色拥有的菜单ID
	{
		url: 'roles/:id/menuIds',
		method: ['GET'],
		body: ({ params }) => {
			return {
				code: '00000',
				data: [
					1, 2, 31, 32, 33, 88, 3, 70, 71, 72, 4, 73, 75, 74, 5, 76, 77, 78, 6,
					79, 81, 84, 85, 86, 87, 40, 41, 26, 30, 20, 21, 22, 23, 24, 89, 90,
					91, 36, 37, 38, 39, 93, 94, 95, 97, 102, 89, 90, 91, 93, 94, 95, 97,
					102, 103, 104
				],
				msg: '一切ok'
			}
		}
	},
	// 保存角色菜单
	{
		url: 'roles/:id/menus',
		method: ['PUT'],
		body: {
			code: '00000',
			data: null,
			msg: '一切ok'
		}
	}
])

// 角色映射表数据
const roleMap: Record<string, any> = {
	2: {
		id: 2,
		name: '系统管理员',
		code: 'ADMIN',
		status: 1,
		sort: 2,
		createTime: '2021-03-25 12:39:54',
		updateTime: null
	},
	3: {
		id: 3,
		name: '访问游客',
		code: 'GUEST',
		status: 1,
		sort: 3,
		createTime: '2021-05-26 15:49:05',
		updateTime: '2019-05-05 16:00:00'
	},
	4: {
		id: 4,
		name: '系统管理员1',
		code: 'ADMIN1',
		status: 1,
		sort: 2,
		createTime: '2021-03-25 12:39:54',
		updateTime: null
	},
	5: {
		id: 5,
		name: '系统管理员2',
		code: 'ADMIN2',
		status: 1,
		sort: 2,
		createTime: '2021-03-25 12:39:54',
		updateTime: null
	},

	6: {
		id: 6,
		name: '系统管理员3',
		code: 'ADMIN3',
		status: 1,
		sort: 2,
		createTime: '2021-03-25 12:39:54',
		updateTime: null
	},
	7: {
		id: 7,
		name: '系统管理员4',
		code: 'ADMIN4',
		status: 1,
		sort: 2,
		createTime: '2021-03-25 12:39:54',
		updateTime: null
	},
	8: {
		id: 8,
		name: '系统管理员5',
		code: 'ADMIN5',
		status: 1,
		sort: 2,
		createTime: '2021-03-25 12:39:54',
		updateTime: null
	},
	9: {
		id: 9,
		name: '系统管理员6',
		code: 'ADMIN6',
		status: 1,
		sort: 2,
		createTime: '2021-03-25 12:39:54',
		updateTime: '2023-12-04 11:43:15'
	},
	10: {
		id: 10,
		name: '系统管理员7',
		code: 'ADMIN7',
		status: 1,
		sort: 2,
		createTime: '2021-03-25 12:39:54',
		updateTime: null
	},
	11: {
		id: 11,
		name: '系统管理员8',
		code: 'ADMIN8',
		status: 1,
		sort: 2,
		createTime: '2021-03-25 12:39:54',
		updateTime: null
	}
}
